/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package qlvbdq.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import qlvbdq.dconnection.SQLServerConnect;
import qlvbdq.dto.CTPhieuChiDTO;

/**
 *
 * @author tuan
 */
public class CTPhieuChiDAO {
    
    public CTPhieuChiDAO() {
    }
    
    public ArrayList<CTPhieuChiDTO> getCTPhieuChiByMaPhieuChi(String MaPC) throws SQLException {
        ArrayList<CTPhieuChiDTO> listCTPC = new ArrayList<>();
        Object[] objs = { MaPC };
        CTPhieuChiDTO ctPhieuChi = new CTPhieuChiDTO();
        ResultSet rs = SQLServerConnect.getInstance().getDataFromStore("GetCTPHIEUCHIByMaPhieuFromDataBase( ? )", objs);
        while (rs.next()) {
            ctPhieuChi.setMaPhieuChi(rs.getString("MAPHIEUCHI"));
            ctPhieuChi.setMaKhoanPhi(rs.getString("MAKHOANPHI"));
            ctPhieuChi.setThanhTien(rs.getLong("THANHTIEN"));
            listCTPC.add(ctPhieuChi);
        }
        return listCTPC;
    }
    
    public ArrayList<CTPhieuChiDTO> getCTPhieuChiByMaPhieuChiAndMaKP(String MaPC, String MaKP) throws SQLException {
        ArrayList<CTPhieuChiDTO> listCTPC = new ArrayList<>();
        Object[] objs = { MaPC, MaKP };
        CTPhieuChiDTO ctPhieuChi = new CTPhieuChiDTO();
        ResultSet rs = SQLServerConnect.getInstance().getDataFromStore("GetCTPHIEUCHIFromDataBase( ?, ? )", objs);
        while (rs.next()) {
            ctPhieuChi.setMaPhieuChi(rs.getString("MAPHIEUCHI"));
            ctPhieuChi.setMaKhoanPhi(rs.getString("MAKHOANPHI"));
            ctPhieuChi.setThanhTien(rs.getLong("THANHTIEN"));
            listCTPC.add(ctPhieuChi);
        }
        return listCTPC;
    }
    
    public int insertCTPhieuChi(CTPhieuChiDTO ctPhieuChi) {
        Object[] objs = { ctPhieuChi.getMaPhieuChi(), ctPhieuChi.getMaKhoanPhi(), ctPhieuChi.getThanhTien() };
        return SQLServerConnect.getInstance().updateDataToDatabase("InsertCTPHIEUCHIFromDataBase(?, ?, ?)", objs);
    }
    
   //xoa toan bo chi tiet cua PhieuDV do
    public int deleteCTPhieuChiByMaPhieuChi(CTPhieuChiDTO ctPhieuChi) {
        Object[] objs = { ctPhieuChi.getMaPhieuChi()};
        return SQLServerConnect.getInstance().updateDataToDatabase("DeleteCTPHIEUCHIWithMPCFromDataBase(?)", objs);
    }
    
    //delete 1 CT
    public int deleteCTPhieuChiByMaPCMaKP(CTPhieuChiDTO ctPhieuChi) {
        Object[] objs = { ctPhieuChi.getMaPhieuChi(), ctPhieuChi.getMaKhoanPhi()};
        return SQLServerConnect.getInstance().updateDataToDatabase("DeleteCTPHIEUCHIWithMPCAndMaKPFromDataBase(?, ?)", objs);
    }
}
